package ${initProjectVo.packageName}.service;

import ${initProjectVo.packageName}.entity.Permission;
import ${initProjectVo.packageName}.entity.RoleUser;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import ${initProjectVo.packageName}.dto.RoleUserDTO;

import java.util.List;

/**
 * @author Faye.Wang
 * @version 1.0
 * @date 2021/3/31 10:52
 * @Description
 */
public interface IRoleUserService {
    /**
     * 查询用户当前的角色列表
     * @param userId
     * @return
     */
    List<RoleUser> getRoleUserForUser(Integer userId);

    /**
     * 查询用户访问权限URL
     * @param userId
     * @return
     */
    List<Permission> getPermissionForUser(Integer userId);

    /**
    * 保存数据
    * @param
    */
    void insertEntity(RoleUser roleUser);

    /**
    * 根据主键删除数据
    * @param id
    * @return
    */
    void deletePrimaryKey(Integer id);

    /**
    * 修改记录
    * @param
    */
    void updateEntity(RoleUser roleUser);


    RoleUser selectByPrimaryKey(Integer id);


    IPage<RoleUserDTO> selectEntityList(Page<RoleUserDTO> objectPage);

    /**
    * 获取登陆者菜单权限ID
    * @param userId
    * @return
    */
    String[] selectUserRole(Integer userId);
}
